package com.ruoyi.kesheSys.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.kesheSys.domain.PopulationInfo;
import com.ruoyi.kesheSys.domain.vo.PopulationInfoVo;
import com.ruoyi.kesheSys.to.BusinessTo;

/**
 * 人口基本信息Service接口
 * 
 * @author keshe
 * @date 2024-12-22
 */
public interface IPopulationInfoService 
{
    /**
     * 查询人口基本信息
     * 
     * @param id 人口基本信息主键
     * @return 人口基本信息
     */
    public PopulationInfo selectPopulationInfoById(Long id);

    /**
     * 查询人口基本信息列表
     * 
     * @param populationInfo 人口基本信息
     * @return 人口基本信息集合
     */
    public List<PopulationInfo> selectPopulationInfoList(PopulationInfo populationInfo);

    /**
     * 新增人口基本信息
     * 
     * @param populationInfo 人口基本信息
     * @return 结果
     */
    public int insertPopulationInfo(PopulationInfo populationInfo);

    /**
     * 修改人口基本信息
     * 
     * @param populationInfo 人口基本信息
     * @return 结果
     */
    public int updatePopulationInfo(PopulationInfo populationInfo);

    /**
     * 批量删除人口基本信息
     * 
     * @param ids 需要删除的人口基本信息主键集合
     * @return 结果
     */
    public int deletePopulationInfoByIds(Long[] ids);

    /**
     * 删除人口基本信息信息
     * 
     * @param id 人口基本信息主键
     * @return 结果
     */
    public int deletePopulationInfoById(Long id);


    /**
     * 通过联表方式查询人口信息
     *
     * @param  populationInfo 人口基本信息
     * @return 人口基本信息集合
     */
    public List<PopulationInfoVo> selectPopulationInfoListVo(PopulationInfo populationInfo);

    /**
     * 查询所有人口的男女比例
     *
     * @return 性别比例统计数据
     */
    BusinessTo selectGlobalGenderStatistics();

    /**
     * 查询所有人口的年龄分布
     *
     * @return 年龄分布统计数据
     */
    BusinessTo selectGlobalAgeDistribution();


    /**
     * 查询各区域人口比重
     *
     * @return 各区域人口统计数据列表
     */
    List<BusinessTo> selectPopulationCountByRegion();





}







